A bus is comprised of an assembly of wires intended to transfer information between stations connected on the bus.
U.S. Pat. No. 4,689,740 discloses a two wire serial bus system, comprising a clock wire and a data wire, for interconnecting a number of stations. The system disclosed in this specification is promoted by Philips Semiconductors under the name I2C bus. The number of stations connected to this bus system is limited by the size of the address of the stations. A similar two wire serial bus system is also sold under the reference SMBus (system management bus) by Intel. In the rest of the present specification, the terms I2C will be used as a generic term for such two wire serial bus systems.
This bus system comprises two wires, that is a data wire and a clock wire. The data wire is normally at a high level and may be brought to a low level by any station connected to the bus. START and STOP conditions are defined as a transition of the value of the data wire while the clock wire is at a high level; a START condition is followed by an address. For more details on the structure and operation of the I2C bus system, reference should be made to the document ‘The I2C bus and how to use it (including specifications)’ Philips Semiconductors, April 1995.
One problem in I2C buses is the use of similar stations. Generally such stations are provided as ICs having an address comprised of a fixed part and of a setable part; the setable part of the address can be set by the user of the IC, at the time the station is used.
Such addresses further limit the number of identical stations used on the same I2C bus. For instance, for an address mapped on 8 bits, with the last bit used for indicating the read-write direction, four bits of the address may be fixed by the founder of the IC, thus leaving only 3 bits of address setable by the user. Under such circumstances, it is not possible to have more than 8 similar stations on the same bus. In existing serial eeproms on the market, the address format is 1010xyzR (binary format), where x, y and z are configurable by the user; a maximum of 8 eeproms is thus allowed on the bus.
Another problem with an I2C bus is that it is impossible on such a bus to have two distinct stations having the same physical address. This prevents using the same chip twice.
Accordingly, the address scheme of I2C is a limitation to the use of similar or identical stations on the bus system. There exists a need for a solution allowing the use of similar or identical stations on an I2C type bus, or on similar types of two wire buses, or more generally on all types of buses.